iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0

tableview

首先我們先點開創建的tableviewcell的xib介面,這邊就是每列cell顯示的東西,我們可以讓每行都顯示一個我們要的文字,如下圖
截圖 2024-09-10 下午4.19.16
然後這邊的label要拉到程式這邊做宣告,並定義一個tableviewcell的名稱是我檔案的名稱
截圖 2024-09-10 下午4.26.05

再來我在我的MainViewController中的擴展先新增了兩個協議UITableViewDelegate, UITableViewDataSource,再來就用內建的func來顯示要顯示的行數和內容的設定,如下圖
上面我有宣告一個食物的array

let foodArray: [String] = [
        "蘋果",
        "香蕉",
        "橙子",
        "葡萄",
        "草莓",
        "西瓜",
        "藍莓",
        "桃子",
        "梨子",
        "鳳梨"
    ]
extension MainViewController: UITableViewDelegate, UITableViewDataSource{
    //cellForRowAt內容的設定
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = TView.dequeueReusableCell(withIdentifier: MainTableViewCell.identifie, for: indexPath) as! MainTableViewCell
        cell.label!.text = foodArray[indexPath.row]
        return cell
    }
    //numberOfRowsInSection顯示的行數
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return foodArray.count
    }
}

最後有一個最重要的步驟喔!
就是要設定代理給自己使用,我們先宣告一個func包著我們需要設定的代理,然後在從viewDidLoad做呼叫

    // MARK: - LifeCycle
    
    override func viewDidLoad() {
        super.viewDidLoad()
        tableSet()
    }
    // MARK: - UI Setting
    func tableSet() {
        TView.register(UINib(nibName: "MainTableViewCell", bundle: nil), forCellReuseIdentifier: MainTableViewCell.identifie)
        
        TView.dataSource = self
        TView.delegate = self
    }

截圖 2024-09-11 下午12.53.01
以上這就是完成的畫面囉

結論

今天跟大家分享了tableview的基本配置,這個很重要喔!,未來常常會運用到,所以大家基本工要打好喔!之後可能會帶大家看一個實例或是更多的tableview內建函式喔,繼續加油,大家明天見


上一篇
swift tableview創建
下一篇
swift realm資料庫
系列文
Swift大航道-啟航篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言